home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1997 July / macformat52.iso / mac / Shareware Plus / Games / BMAPEdit / BMAPEdit doc (text) < prev    next >
Encoding:
Text File  |  1997-04-15  |  47.9 KB  |  940 lines

  1. BMAPEdit Version 3.1
  2. (c)1993-97 Carl R. Osterwald
  3.  
  4. Introduction
  5.  
  6. BMAPEdit is a Macintosh application to create and edit maps for Bolo,
  7. the multi-player distributed tank battle game written by Stuart
  8. Cheshire.  BMAPEdit reads, edits, prints, and creates files (of type
  9. 'BMAP') for use with Bolo.  It has been designed to provide you, the
  10. people who enjoy playing Bolo, with the tools needed to quickly and
  11. efficiently make creative maps.
  12.  
  13. For more information about Bolo, the Official Bolo Home Page at:
  14.    http://deckard.mc.duke.edu/bolo/
  15. is highly recommended.
  16.  
  17. BMAPEdit is shareware.  If you like and use BMAPEdit, please send
  18. $10.00 to:
  19.     Carl R. Osterwald
  20.     75 S. Dudley St.
  21.     Lakewood, Colorado 80226
  22.  
  23. This program may be freely distributed provided this documentation file
  24. is distributed also.  It may not be sold commercially.  This version is
  25. free to individuals that have paid the shareware fee in the past.
  26.  
  27. Please send any comments, suggestions, or, most importantly,
  28. bug reports to:
  29.     Internet:  carl_osterwald@usa.net
  30.     or by physical mail to the address above.
  31.  
  32. 1.  Acknowledgments
  33. *   Stuart Cheshire--of course, who wrote Bolo and provided the code to
  34.       read and write Bolo map files.  Stuart also co-developed the code
  35.       for the graphical previews that appear when opening map files.
  36. *   Tom Barrett & Stuart Cheshire provided the Bolo preview graphics
  37. code.
  38. *   Scott Knaster & Keith Rollin wrote "Macintosh Programming
  39.       Secrets," highly recommended for anyone writing Macintosh code.
  40. *   Forrest Tanaka developed the offscreen graphics code that is
  41.       contained in the Apple DTS Tech Note, "Principia Offscreen
  42. Graphics".
  43. *   Peter Lewis developed the random map generator & growth algorithms.
  44. *   Charles Brabec granted permission to incorporate his Birdman's Map
  45.       Maker source code as the tiled random map generator.
  46. *   Phil Parilla developed the self-avoiding random walk-maze algorithm.
  47. *   Jim Stout wrote the 3D buttons that are a part of Jim's CDEFs and
  48.       available free of charge.
  49. *   Christer Ericson wrote the function that calculates the area of a
  50.       QuickDraw Region.
  51. *   And especially all the beta testers whose hard work and patience
  52.       dealing with less-than-optimum programming have allowed BMAPEdit
  53.       to become what it is today.  Many thanks to:
  54.  
  55.     Thomas Apodaca, Aaron Bratcher, Chip Benowitz, Charles Dillon,
  56.     Chris Hanson, Eric Hiris, Bill Ingalls, Brian Keyes, Gavin Kistner,
  57.     Doug La Farge, Dan LaLiberte, Russell Mast, Phil Parilla,
  58.     Caine Schneider, Andrew Tennant, & John White.
  59.  
  60. 2.  System Requirements & Capabilities
  61. *    Color Quickdraw (not available on Macs with 68000 CPUs such as
  62.        Classics or SEs)
  63. *    750 kBytes of memory (prefers 1 MByte)
  64. *    System 7.0 or greater
  65. *    Accelerated for Power Macintosh (optimized for PowerPC 604
  66.        microprocessors)
  67. *    Macintosh drag and drop (with System 7.5 or greater)
  68. *    Balloon help
  69. *    B&W printing (requires a PostScript printer)
  70. *    Color/grayscale printing (requires a PostScript Level 2 printer)
  71.  
  72. BMAPEdit does not require a color monitor, but color will allow you to
  73. take full advantage of the display capabilities of BMAPEdit.
  74.  
  75. Each open map window requires 66 kBytes of memory.  BMAPEdit will warn
  76. you if the amount of free memory drops to dangerous levels as more map
  77. windows are opened.  The amount of free memory is displayed in
  78. BMAPEdit's About Box (choose About BMAPEdit in the Apple menu).
  79.  
  80. The amount of memory allocated to BMAPEdit affects the drawing speed. 
  81. The initial memory size is 1750 kbytes, which lets BMAPEdit use the
  82. maximum amount of memory for its offscreen drawing buffer.  If this
  83. memory size is reduced, drawing speeds will be somewhat slower.  In case
  84. you need to run with less memory, you change it by quitting the
  85. application, selecting the BMAPEdit icon (don't double-click it), and
  86. choose Get Info… in the Finder's File menu.  You can then adjust the
  87. memory size as your needs dictate.
  88.  
  89. BMAPEdit versions earlier than 3.0 would run under System 6.0.4 or
  90. later.  If you are still using System 6, you should not upgrade to a
  91. version later than 2.0.1.
  92.  
  93. Balloon help is provided for all menus, the ToolBox, and a number of
  94. dialogs.  It can be activated from the Guide (help) menu in the right
  95. hand side of the menu bar.  Help balloons will then appear as the mouse
  96. is moved (after balloon help is first activated, it can take several
  97. seconds for the balloons to start appearing).
  98.  
  99. BMAPEdit is a so-called 'fat' application, which means it contains code
  100. to operate on either 68000 or PowerPC Macintoshes.  A modest amount of
  101. disk space, about 200 kBytes, can be saved by removing whichever version
  102. is not needed for your computer.  If necessary, this space can be saved
  103. by using a utility program such as StripFat, which is available from the
  104. popular Info-Mac FTP archive servers.
  105.  
  106. 3.  Bolo Maps
  107. Bolo maps use a grid of 256 by 256 squares.  Squares are numbered
  108. left-to-right and top-to-bottom starting at 0 and ending at 255.  Of
  109. these squares, the outermost 10 squares on all sides are filled with
  110. mines by Bolo (the outer minefield) and cannot have terrain placed in
  111. them.  Although refueling bases and pillboxes can be located in the
  112. outer minefield, the author of Bolo discourages this and a warning
  113. dialog box asking for confirmation is displayed when placement in the
  114. outer minefield is attempted.  Also, Bolo does not allow any terrain
  115. except deep water in an additional 10 square border inside of the mine
  116. field squares.  While this deep water border is intended for start
  117. squares (the invisible squares that define where tanks can enter the
  118. game), bases and pillboxes may also be located here if desired.  All
  119. regular terrain other than special squares (bases, pillboxes, and start
  120. squares) is restricted to squares 20 through 235 horizontally, and 20
  121. through 235 vertically.  The border of this area is called the terrain
  122. mapping limit rectangle in BMAPEdit.
  123.  
  124. BMAPEdit does not read old-style 'resource' Bolo map files.  These older
  125. files may be read and converted by opening them with the Bolo
  126. application and then saving to a new file.
  127.  
  128. 4.  Map Windows
  129. The Bolo display shows the map squares in 16x16 pixel rectangles.  This
  130. corresponds to the Preview mode in the BMAPEdit Mag menu.  Four other
  131. modes, 12x12, 10x10, 8x8, and 5x5, display the map data in reduced Bolo
  132. graphics.  Start squares are shown as a tank on a boat in deep water
  133. (except for 5x5, which use a small arrow), pointed in the same direction
  134. as the start square's direction.  Initial ownership of bases and PBs is
  135. indicated as follows:  bases and PBs with ownership of 1 are drawn in
  136. green (friendly); bases with ownership greater than 1 are drawn in red
  137. (hostile) (also see the Options menu section).
  138.  
  139. The remaining display modes, 3x3 and 1x1, use single colors to represent
  140. map terrain.  In B&W 3x3 and 1x1, land squares are black and water
  141. squares are white.  In 1x1 magnification, an entire Bolo map can be
  142. viewed in a window of only 256 by 256 pixels.  The colors used for the
  143. reduced display modes have been selected to allow distinction of terrain
  144. on monitors with only 16 colors available.  A key to the reduced colors
  145. is in the ToolBox below each of the terrain icons.  Mines are shown as a
  146. yellow dot centered in terrain squares at 3x3, and are not displayed at
  147. 1x1.  Start squares show up as a small red arrow or dot.
  148.  
  149. The border of the terrain mapping limit rectangle can optionally be
  150. displayed (see the preferences item under the Edit menu below).  The
  151. horizontal and vertical map coordinates are displayed in the floating
  152. ToolBox palette as the mouse is moved across the map window.
  153.  
  154. Two other display options are ownership of bases and pillboxes, and
  155. special square numbering.  These options, which cannot be enabled
  156. simultaneously, place small numbers over the special squares.  Blue
  157. numbers are used for bases, red numbers for pillboxes, and green numbers
  158. for start squares.  
  159.  
  160. Special square numbering is the logical ordering of these objects in the
  161. map data; it does not have any visible effects on the map.  In the Bolo
  162. information displays, bases and pillboxes are indicated starting with
  163. number 1 in the top-left corner of the displays and continuing
  164. left-right top-to-bottom to number 16 (or to the total number of bases
  165. or PBs).  Bolo itself has two options, pillbox labels and base labels,
  166. that display numbering.  However, the Bolo numbers start with zero
  167. rather than the more conventional one.  Thus, Bolo's pillbox and base
  168. labels will be one less than the numbers displayed in BMAPEdit.
  169.  
  170. BMAPEdit can also display the range of pillbox shots, according to a
  171. checkbox in the preferences dialog.  There are several important ranges
  172. in Bolo, as follows:  1) the maximum distance a tank can shoot is 6 1⁄2
  173. squares from the tank center, 2) the distance at which a pillbox will
  174. begin shooting at a tank is 8 squares from the center of the pillbox,
  175. and 3) the maximum distance a pillbox shot can travel is 8 1⁄2 squares
  176. from the center of the pillbox.  BMAPEdit displays this last range as a
  177. white circle around pillboxes.
  178.  
  179. Map windows can be scrolled with the scroll bars, with the 'grabber'
  180. hand that is activated by the pressing the space bar, or with the page
  181. up, page down, home, and help keys on extended keyboards.
  182.  
  183. 5.  Map Drawing
  184. BMAPEdit uses a 'foreground – background' style where the foreground
  185. terrain is defined by the icon selected in the ToolBox, and the
  186. background terrain is selected through a popup menu at the bottom of the
  187. ToolBox (a background terrain popup menu also is located in the
  188. preferences dialog).  All drawing applies the foreground terrain to make
  189. changes, while the background terrain is applied when a selected region
  190. is moved, rotated, reflected, or cleared.
  191.  
  192. Drawing is done with five basic methods: pencil, line, filling, framing,
  193. and painting.  Of these, filling and framing are performed on regions
  194. defined with the selection tools in the ToolBox (the rectangle, rounded
  195. rectangle, oval, polygon, and lasso tools) by using the corresponding
  196. commands in the Utilities menu.  Pencil drawing, line drawing, and
  197. painting are done by clicking with the respective tools from the
  198. ToolBox.
  199. Important--line drawing, filling, and framing apply the pattern currently
  200. selected in the Patterns menu, where a black pixel in the pattern
  201. changes the terrain in the map squares affected to the foreground, and
  202. white pixels cause no changes.  Many effects can be achieved with the
  203. patterns, including, for example, perfect 'checkerboard' mine fields. 
  204. Such a mine field would be laid down through the 50% gray pattern.  When
  205. BMAPEdit is first opened, the pattern defaults to solid black.
  206.  
  207. Pencil drawing changes individual map squares to the foreground terrain.
  208.  It operates in the traditional 'paint' program style.  As the pencil is
  209. moved across a map, the destination square that would be changed by a
  210. click is highlighted with an open white box (except for magnifications
  211. less than 8x8).  Pencil drawing is also the primary way special
  212. squares--refueling bases, pillboxes, and start squares--are added to a
  213. map.  Filling, framing, painting, and line drawing do not apply to
  214. special squares.  Therefore, selecting the base, pillbox, or start
  215. square icons in the ToolBox automatically selects the pencil tool. 
  216. Start squares are added to a map by clicking and dragging the pencil
  217. until the desired direction is indicated.  Note--the direction of
  218. existing start squares can be also changed by clicking and dragging with
  219. the pencil.  Special squares are deleted by clicking them with the
  220. bulldozer tool from the ToolBox.  The bulldozer can also be activated
  221. from the pencil tool by holding the option key down.
  222.  
  223. Lines are drawn after a line segment has been selected by clicking and
  224. dragging with the line tool.  The line produced is affected by the
  225. current pattern, and its size is determined by the current line size
  226. setting in the preferences dialog.  The line tool can also be used to
  227. make square blocks quickly by selecting an appropriate line size and
  228. clicking on the map without dragging.  Lines drawn in road, water, or
  229. deep water terrain at line size equal to 1 produce a path that is
  230. traversable.  Holding down the option key while dragging a line with the
  231. line tool causes BMAPEdit to make a randomly-walked path with a line
  232. size of 1 (the line size setting in this case is ignored).
  233.  
  234. Filling is performed by selecting a region with a selection tool (see
  235. the ToolBox discussion below) and choosing the Fill Selection item in
  236. the Utilities menu.  Framing is similar, except that the line width used
  237. is determined by the current line size setting in the preferences
  238. dialog.  Two framing operations are available--either inside the
  239. selection boundary, or outside.
  240.  
  241. Painting is done by clicking with the paint bucket tool.  The paint
  242. bucket simply changes all the identical terrain squares adjacent to the
  243. click location to the foreground terrain.  It operates in the
  244. traditional 'paint' program style.  If the paint bucket is applied
  245. inside a selected region, painting is clipped to the selection boundary
  246. and will not go outside the boundary.  Painting can also be done with
  247. the random blob tool which works similarly to the paint bucket, but
  248. stops when a small irregular shape is produced, rather than changing all
  249. adjacent identical terrain.  Note--holding the option key down while
  250. clicking with the paint bucket does not change terrain, but rather
  251. selects the region that 'paint' would flow to (see the lasso tool
  252. below).  Holding both the shift and option keys down extends an existing
  253. region selection.
  254.  
  255. Mines and special squares represent special cases.  Mines can only be
  256. applied to existing swamp, crater, road, forest, rubble, or grass
  257. squares.  Attempting to place mines on any other types of terrain is
  258. ignored.  Start squares can only be placed in deep water.  If other
  259. terrain is subsequently applied to a start square, the start square is
  260. removed.  Also, bases and pillboxes 'float'  --  whatever terrain they
  261. have been placed in, including deep water.  The terrain a base or
  262. pillbox sits on is what a map square becomes when that base or pillbox
  263. is moved during a game (currently, Bolo allows only pillboxes to be
  264. moved).  Note--it is possible to create completely unusable refueling
  265. bases by locating them in deep water, with all adjacent squares also
  266. deep water.  A tank can land at the base and refuel, but because boats
  267. cannot remain in deep water unoccupied, there is no way to leave the
  268. base without dying in deep water.
  269.  
  270. Note--Bolo maps are currently limited to 16 of each type of special
  271. square (bases, pillboxes, and start squares).  BMAPEdit, however, allows
  272. up 32 bases and pillboxes each to be placed on maps.  This is allowed
  273. because it is easy to create more than 16 when copying and pasting
  274. selections.  Rather than automatically eliminating the extras, BMAPEdit
  275. places them and allows you to decide which ones to delete.  This feature
  276. also allows you to examine different options before deciding which is
  277. best.  When saving such a map, however, only the first 16 of each are
  278. put into the map and a dialog appears telling you that the extra bases
  279. and pillboxes were not included.
  280.  
  281. 6.  The ToolBox
  282. The ToolBox is a floating window/palette that is divided into five
  283. sections.  These sections are, from top to bottom:  1) the foreground
  284. terrain selection, 2) current special square counts, 3) the tool
  285. palette, 4) the map coordinate and area of selection display (both in
  286. units of map squares), and 5) the background terrain popup menu.
  287.  
  288. The foreground terrain selection section is an array of fifteen terrain
  289. types, represented as icons, that can be applied to Bolo maps.  These
  290. icons are identical to the terrain squares as drawn by Bolo in a game. 
  291. Just below each icon is a color bar that shows which color is used to
  292. represent that terrain in the reduced color drawing modes (the color
  293. bars do not appear in B&W).  The bottom row of icons in the terrain
  294. palette are the special squares, from left to right, refueling bases,
  295. pillboxes, and start squares.
  296.  
  297. Clicking the zoom box in the upper right toggles the ToolBox between its
  298. full size and a minimum-sized bar.  Note--the Window Shade function
  299. introduced with System 7.5 performs the same function when double- or
  300. triple-clicking on a window's title bar; they are not entirely
  301. compatible.  Once the ToolBox has been minimized with the zoom box,
  302. Window Shade clicks do not affect it--it must be restored with the zoom
  303. box.
  304.  
  305. The sixteen tools in the tool palette are described next in
  306. left-to-right, top-to-bottom order.
  307.  
  308. The pointer tool performs three functions:  dragging selections,
  309. dragging special squares, and double-clicking special squares.  All
  310. dragging is pinned to the terrain limit rectangle which was defined
  311. above, except when Macintosh drag and drop is available.  Moving
  312. selections by dragging them is straightforward, and, after the move, the
  313. terrain in the selection is replaced with the background terrain.  Once
  314. a selection has been dragged, it can be moved again without affecting
  315. the map until the selection is 'set' (or the 'paint has dried') by
  316. selecting another tool, pressing the escape or tab keys, or by switching
  317. to another map window.  See the drag and drop section below for more
  318. information about dragging.
  319.  
  320. Special squares may be relocated without having to first select them
  321. with one of the selection tools.  Simply click and drag them to the new
  322. location.  Notice that this is different from dragging a selection
  323. because the terrain under the special square is not moved.  Also,
  324. special square drags do not use the Drag Manager (see below) and thus
  325. cannot leave the starting window.
  326.  
  327. The settings of special squares may be adjusted by double-clicking them.
  328. A double-click brings up a dialog window that will allow you to make
  329. whatever changes you desire.  The special square dialogs are described
  330. in more detail below.
  331.  
  332. Bases, pillboxes, and start squares are deleted by clicking them with
  333. the bulldozer tool, which is also activated by pressing the option key
  334. while the pencil tool is selected.
  335.  
  336. The magnifying glass is used to switch display modes.  Holding the
  337. option key down while clicking switches to a lower magnification, while
  338. a normal click produces the opposite effect.  Display modes may also be
  339. switched with the  + and - keys, as well as the number keys.  The
  340. control key functions as a keyboard shortcut for the magnifying glass.
  341.  
  342. The pencil and line tools are used for pencil and line drawing, as
  343. described above.  Dragging with the shift key down restricts lines to
  344. horizontal, vertical, and diagonal directions.
  345.  
  346. The random blob and paint bucket tools have been described above in the
  347. drawing section.
  348.  
  349. Rectangle, rounded rectangle, and oval regions are selected with the
  350. next three tools, respectively.  Dragging with the shift key down causes
  351. square and circle regions to be selected, and if the option key was
  352. pressed when the mouse was clicked, the selections expand from the click
  353. location, causing the selection to be centered at this point.  Centered
  354. selections can be an even or odd number of squares wide and high,
  355. depending on the where the initial click is relative to the center of
  356. the square.  Option-clicks near the center produce odd width and height
  357. selections, otherwise the selection is even number of squares wide and
  358. high.
  359.  
  360. Polygons are selected with the polygon tool.  Each mouse click in
  361. succession adds another point to the polygon, up to a maximum of 128
  362. points.  A double-click adds a final point and closes the polygon.  The
  363. previous polygon point can be deleted, before the final point is added,
  364. by holding the option key down and clicking.  Note that a polygon does
  365. not have to be open, i.e. a series of points can be closed by 'doubling
  366. back' to the first point.  The sequence of line segments produced can be
  367. framed, but not filled.
  368.  
  369. The lasso is used to select regions of existing terrain.  Terrain to be
  370. selected is surrounded by a series of points in a manner identical to
  371. polygon selections (the final point is added with a double-click).  The
  372. selection is then shrunk to an outline of terrain dissimilar to the
  373. terrain at the first point selected.
  374.  
  375. Selections can rotated or reflected perpendicular to a line with the
  376. rotator and reflector transformation tools.  The original selection
  377. region is replaced with the background terrain unless the selection is
  378. not yet 'set' (or the 'paint is still wet').  After rotation or
  379. reflection, the selection can be dragged into final position without
  380. disturbing existing terrain until the selection is 'set'.  Note that it
  381. is possible for special squares to be lost during the transformations. 
  382. Two adjacent specials can transform to the same square, causing one to
  383. be removed.  Also, in very small selections, i.e. one square, the
  384. transformation can result in loss of the special square, especially at
  385. rotation or reflection angles that are not even multiples of 45°.  Note
  386. that holding the shift key down while clicking with the rotator and
  387. reflector tools constrains the transformation angle to multiples of 45°.
  388.  
  389. Finally, you can add lettering to maps with the text tool.
  390.  
  391. 7.  Drag and Drop
  392. Introduced with Macintosh System 7.5 was the ability to drag information
  393. between windows, even those of different applications.  BMAPEdit uses
  394. the Drag Manager for dragging map selections, and also accepts
  395. information transferred from other applications.  Thus, it is possible
  396. to drag map pieces, or even entire maps, to other map windows.  Drag and
  397. drop is really an extension of cut and paste, although it operates
  398. independently from the clipboard.
  399.  
  400. Dragging selections with the drag manager is nearly identical to when it
  401. is absent, except that selection outlines are allowed to leave the
  402. starting window.  The selection outline snaps to map squares until it is
  403. outside of the window, at which point this is no longer possible.
  404.  
  405. Dragging from map windows--selections dragged out map windows will
  406. contain the map information in three formats, called drag flavors:  1)
  407. BMAPEdit internal map data, 2) text, and 3) Quickdraw picture format
  408. (PICT).  The last two formats are intended for exporting map information
  409. to other applications, while the internal flavor is for transferring
  410. information between BMAPEdit windows (note that the text flavor can be
  411. disabled with a checkbox in the preferences dialog).
  412.  
  413. There are two drag destinations external to BMAPEdit that are very
  414. useful for map making--the scrapbook and the desktop.  Selections dragged
  415. to the scrapbook will show the picture representation, and will list the
  416. other drag flavors contained.  If the desktop is the final destination
  417. of a drag, the Finder will create a so-called clipping file containing
  418. the drag information.  Double-clicking a clipping file causes the Finder
  419. to display its contents.  Both of these can be used to store often-used
  420. map pieces.
  421.  
  422. Dragging to map windows--when a map window becomes the destination of a
  423. drag flavor that BMAPEdit can accept, the two-pixel white border around
  424. the map display is highlighted.  BMAPEdit accepts drags of text,
  425. pictures, and its own internal drag flavor.
  426.  
  427. See the Text Import/Export section for more information about text
  428. translation of map data, and the Edit menu section for details of
  429. importing pictures.
  430.  
  431. 8.  Snap-To-Grid
  432. BMAPEdit has the ability to restrict drawing operations to an invisible
  433. grid.  The grid defaults to the minimum size of one square, but can be
  434. set to larger values with the Grid Size item in the Options menu (see
  435. the Menus section below).  A grid size of three, for example, will force
  436. the cursor to map squares evenly divisible by three, e.g., squares 3, 6,
  437. 9, 12, etc.  When dragging selections or special squares, objects are
  438. moved in offsets from the starting locations that are multiples of the
  439. grid size.
  440.  
  441. The X-Y map coordinate display in the ToolBox snaps to the current grid
  442. setting.
  443.  
  444. 9.  Random Utilities
  445. BMAPEdit has special utilities for adding random features to Bolo maps. 
  446. Several of these--random bases & PBs, random maps, random fills, random
  447. frames, make island, maze fill and city fills--are accessed through the
  448. Utilities menu and are discussed below.  Small random shapes or 'blobs'
  449. can be made with the random blob tool, or with the pencil tool and the
  450. shift key pressed.  The random shape only 'grows' on terrain identical
  451. to the click location in a way similar to the paint bucket Random
  452. 'walks' or lines can be added with the line tool and option key held
  453. down.
  454.  
  455. 10. Menus
  456. File menu -- The File menu operates on Bolo maps, text files, and picture
  457. files.  Important features of these menu items are described below.
  458.  
  459. When the Open item in the File menu is selected, and System 7 is
  460. available, BMAPEdit displays a custom open file dialog box.  As map
  461. files are highlighted in the file list, the map data is read from the
  462. file and a small preview of the map is displayed in the left-hand side. 
  463. Neither the outer mines nor the start squares are shown.  In B&W, land
  464. is black and water is white, except for bases and PBs, which are white. 
  465. This graphical feedback is intended to give visual clues about the file
  466. being opened, as opposed to selecting a file by just the file name.
  467.  
  468. BMAPEdit performs a validity check on the special squares when an
  469. existing map is opened.  The check detects bases, pillboxes, or starts
  470. that occupy the same squares, and looks values of armor, direction, shot
  471. speed, shells, mines, and ownership are within the limits defined for
  472. Bolo maps.  If problems are found, a dialog box is displayed asking for
  473. permission to correct the problems.  Out of range values are set to
  474. default values, and extra specials in a single square are removed.  If
  475. you change your mind, the Undo command in the Edit menu will reverse all
  476. the corrections.
  477.  
  478. A warning dialog is displayed when a map that has no start squares is
  479. saved because such a map is not usable as a game map.
  480.  
  481. If the option key is pressed while selecting the Close or Save items,
  482. all map windows currently open will be closed or saved.
  483.  
  484. The Open Text/Save as Text items allow importing and exporting Bolo maps
  485. as text files that can viewed without the Bolo application or a map
  486. editor such as BMAPEdit, using a standard set of ASCII characters.  See
  487. the section on text import/export for complete details of the character
  488. set.
  489.  
  490. Saving a map as a PICT produces a PICT (Quickdraw picture) file that
  491. shows the Bolo map drawn according to the export format selected in the
  492. preference dialog.  Please note that these files can be quite large at
  493. larger magnifications and if color is desired.
  494.  
  495. The Launch Map item allows you to start a new Bolo game using the top
  496. map window from BMAPEdit.  If the map has not been saved, you will be
  497. asked to save the map before Bolo is launched.
  498.  
  499. Bolo map files can be printed in B&W to a PostScript printer, or in
  500. color/grayscale to PostScript Level 2 printer, according to the settings
  501. in the LaserWriter print dialog window.  The output is intended as a
  502. navigational aid, and larger maps are printed with progressively smaller
  503. squares.  Color/grayscale printing will require significantly more time
  504. to print than B&W, and will cause a PostScript error if the printer
  505. selected in the Chooser is not a PostScript Level 2 printer.
  506.  
  507. Edit menu -- The Edit menu follows the standard Macintosh format.  Map
  508. regions that have been copied or cut and then subsequently pasted can be
  509. dragged into final position using the pointer tool.  Map data that is in
  510. the clipboard is converted to a PICT image according to the export
  511. format selected in the preferences dialog, for export to other
  512. applications.  If auto conversion item in the preferences dialog is
  513. checked, clipboard data is converted to PICT format automatically
  514. whenever BMAPEdit is switched to the background, or when Quit is
  515. selected in the File menu.  If automatic conversion is not enabled (the
  516. default setting), clipboard data can always be converted with the
  517. Convert Clipboard item.  Note--large selections can consume large amounts
  518. of memory, especially when color conversion is requested.  It is
  519. therefore possible for the conversion to fail if not enough memory is
  520. available.
  521.  
  522. PICT images that are in the clipboard can be pasted into a map.  Terrain
  523. is determined by the colors in the image, and should correspond to the
  524. color bars in the ToolBox.  Red and yellow should be avoided as these
  525. are used for display of special squares and therefore are converted to
  526. the background terrain.
  527.  
  528. Select All selects a rectangular area that bounds the entire map while
  529. ignoring deep water.  If the map is empty, the entire editable area is
  530. selected.
  531.  
  532. The Clone item performs a two-step copy-paste operation that allows a
  533. copy of the selected area to be dragged away while leaving the original
  534. terrain untouched.  Because the pasted selection is directly over the
  535. original, there is no visible change to the map.
  536.  
  537. The Transform Again item repeats the last move, rotation, or reflection
  538. operation on the current selection.  Thus, if the last operation was a
  539. five-square move, transform again will move whatever is currently
  540. selected by the same offset.  With the combination of clone and
  541. transform again, it possible to create a large number of identical
  542. items, and is especially useful in making tiles for the tiled random map
  543. generator (see below).  To do this, draw the first tile, select the
  544. tile, clone it, then drag it to the next position.  Then repeatedly
  545. clone and transform to make a number of tiles.  The command keys
  546. equivalents (cmd-\ and cmd-,) make the process almost instantaneous.
  547.  
  548. The Preferences item presents a dialog window in which all of the
  549. options for BMAPEdit are selected.  The settings, many of which have
  550. been discussed previously, are preserved in a preferences file.  The
  551. Random Fill % item allows the approximate percentage of a random fill to
  552. be selected.  Random fills are discussed in greater detail below.  The
  553. Show Numbering and Show Ownership checkboxes are mutually exclusive;
  554. they cannot both be checked at the same time.  Another checkbox
  555. determines if text representations of map data are sent when dragging
  556. selection out of BMAPEdit with the Drag Manager (see the drag and drop
  557. section above).  If the Center Map During Save is checked, BMAPEdit will
  558. automatically center the map terrain in the limit rectangle when a map
  559. is saved.
  560.  
  561. Mag menu -- The Mag menu is used to switch magnification display modes. 
  562. Command-key equivalents are provided for convenience.  The
  563. Increase/Decrease items change magnification by one level and can be
  564. accessed through the +/- command keys on the keyboard or keypad.
  565.  
  566. Patterns menu -- The Patterns menu is used to select the Quickdraw pattern
  567. that is used for line drawing, filling, and framing selections.  It
  568. defaults to solid black, as discussed above.
  569.  
  570. If you are familiar with editing resources, using ResEdit or other
  571. resource editors, you can edit the patterns provided in BMAPEdit's 
  572. resource fork, or add new ones.  The patterns are loaded from resource
  573. type 'PAT#', ID 128.  Editing the solid black pattern, the first one in
  574. the list, is not recommended because without it, there is no way to
  575. perform solid fills and lines.
  576.  
  577. Utilities menu -- The Utilities menu contains an assortment of operations
  578. that can be performed on Bolo maps.  These operations are now described
  579. in order.
  580.  
  581. The Fill Selection and Frame Selection items were discussed above in the
  582. Drawing section.
  583.  
  584. The Random Fill item is used to randomly distribute the foreground
  585. terrain throughout a selection.  The amount of filling will be close to
  586. (but not precisely) the percentage as set in the preferences dialog. 
  587. This setting, which is the probability a single square will be filled,
  588. defaults to 20%.  Random fills of boats only affect existing water
  589. terrain (not deep water).  The Random Frame item operates on rectangular
  590. or polygon selections and performs a random walk from point-to-point
  591. using the foreground terrain and a line size of one square.  Also, see
  592. the keyboard shortcuts section for further information about producing
  593. random terrain.
  594.  
  595. Frame Outside was also discussed above.
  596.  
  597. The next three items, Make Island, Maze Fill, and City Fill, generate
  598. random fills in selections.  For the maze and city files, if the current
  599. selection is not rectangular, the result is clipped to the selection.
  600.  
  601. Make Island produces a randomly shaped island inside the selection, and
  602. then performs a fill, random fills, and then a frame as directed.  Popup
  603. menus allow selection of the island and outline terrains, including no
  604. change if desired.  If a polygon is selected, the polygon is used and a
  605. random shape is not produced.  Small, one-square pinholes can be
  606. prevented with a checkbox selection in the Make Island dialog.
  607.  
  608. The Maze Fill item will produce a random maze in a rectangular area with
  609. one entrance and one exit on opposite sides of the rectangle.  Terrain
  610. for the maze consists of the path terrain and the barrier terrain which
  611. are selected with popup menus in the maze dialog.  Thicknesses of the
  612. paths and barriers are then specified with scroll bars.  The maze
  613. generation algorithm requires an odd number of squares horizontally and
  614. vertically.  If an even number is selected, the maze size will be
  615. decreased by one.
  616.  
  617. Random cities consisting of horizontal and vertical roads can be
  618. generated with the City Fill item inside of rectangular selections. 
  619. Note that parks, consisting mostly of trees, consume a total of four
  620. city blocks each.
  621.  
  622. The Starter Map item will generate a quick rectangular map filled with
  623. grass and framed with water, and with start squares evenly distributed
  624. about the perimeter.  As an option, starter maps with the original Bolo
  625. map format (104x52) can also be generated.
  626.  
  627. The Random Map item randomly generates an entire Bolo map, including
  628. special squares if the appropriate checkboxes are selected in the Random
  629. Map dialog.  This utility is very similar to the RandomMapGenerator
  630. written by Peter Lewis (the algorithm was adapted from the source code
  631. for RandomMapGenerator).  Any existing terrain and all special squares
  632. are erased before the map is generated.  The map will be constrained to
  633. whatever region is currently selected, if desired, or a rectangular map
  634. centered in the Bolo grid can be selected as an alternative.  If the
  635. 'Deep water inside map' dialog item is not checked, the map region will
  636. be filled with shallow water before the map is generated.  Otherwise,
  637. islands generated will be framed with shallow water.  Pairs of bases can
  638. be linked with roads using the Connect Bases checkbox.  Selecting the In
  639. Pairs checkbox causes an equal number of adjacent bases and pillboxes to
  640. be added in pairs.
  641.  
  642. Another complete random map utility is the Tiled Random Map, adapted
  643. from Birdman's Map Maker, written by Charles Brabec.  This utility,
  644. which was originally developed to run on Unix computers using standard
  645. console (character) input/output, works by randomly selecting map
  646. pieces, called tiles, from a list of tiles defined in a special kind of
  647. Bolo map, called a tile file.  The tiles, 5x5 map squares in size, are
  648. selected so that the terrain at the center of the edges matches
  649. previously chosen tiles.  Thus, the tiled map generator has the unique
  650. ability to have terrain propagate through a map.  Other unique features
  651. of the tiled map generator include a nonrandom base and pillbox
  652. placement that uses a distribution algorithm, and the six map symmetry
  653. options available, from no symmetry to 4-fold rotational.  A picture
  654. with letters illustrate the current symmetry selection in the tiled map
  655. dialog.  Tiles in tile files that contain terrain not checked among the
  656. allowed terrain checkboxes are rejected for selection, and the default
  657. terrain popup menu selects the terrain that is used to construct blank
  658. tiles.  Blank tiles are created when no tiles can be found in the list
  659. to match existing edges or that fit the checkbox criteria.  Because
  660. there are no checkboxes for mines, boats, or deep water, these terrain
  661. types are always allowed.
  662.  
  663. Because maps constructed by the tiled map generator are made from the
  664. pieces in a tile file, they are very much a function of the tile file
  665. used.  Tile files consist of rows of 5x5 square map pieces separated by
  666. one square of deep water. Tiles are read from the file one at a time,
  667. starting at the upper left corner and continuing left-to-right,
  668. top-to-bottom, until a tile is encountered that is completely deep sea. 
  669. Therefore, normal Bolo maps will not be accepted as tile files because
  670. they will be seen as having no tiles.  Bases and pillboxes on the tiles
  671. are used as hints for selecting locations when placing bases and
  672. pillboxes on the new map. Start squares in tile files, however, are
  673. ignored.
  674.  
  675. The next five items all operate on special squares.  All the bases,
  676. pillboxes, or start squares can be removed with the Remove Specials
  677. item.  Set To Defaults resets the ownership, armor, etc., values of
  678. bases and pillboxes to the defaults.  The Place Bases & PBs item is used
  679. to add a number of bases and PBs to a selected area, or throughout the
  680. entire map.  A popup menu of placement options allows for symmetrical,
  681. non-symmetrical, or random placement.  Bases and pillboxes are never
  682. added over 'liquid' terrain, i.e. water, deep water, or boats, and
  683. pillboxes are never located on 'solid' terrain, i.e. buildings or shot
  684. buildings.  The function of the In Pairs checkbox is identical to the
  685. similar checkbox in the Random Map dialog.  Similarly, the Place Start
  686. Squares item evenly distributes start squares around a perimeter. 
  687. Shuffle Bases & PBs randomly changes the logical order of bases or
  688. pillboxes.  This utility will not have any visible effect on the map,
  689. except for changing the numbers that appear when Bolo's base or pillbox
  690. labels options are selected (see the discussion of map windows above).
  691.  
  692. The next three items, Clear Mines, Remove Boats, and Replace Terrain,
  693. operate on the entire map, or inside a selected area.  Terrain
  694. replacement allows you to substitute any kind of terrain for another. 
  695. If you dislike mines at the beginning of a game they can be removed with
  696. Clear Mines.
  697.  
  698. Lastly, the Center Terrain utility moves the center of all non-deep
  699. water terrain in the map to the map center, the point 128, 128.  This
  700. facility is provided because the author of Bolo recommends that maps be
  701. centered in the 256x256 point map grid.
  702.  
  703. Windows menu -- The Windows menu can be used to bring other map windows to
  704. the top, and to show the ToolBox if it has been closed.  The first item,
  705. Center Window, scrolls the top map window so that the center point, 128,
  706. 128, is in the center of the window.
  707.  
  708. 11. Custom Map File Icons
  709. A checkbox option in the preference dialog allows BMAPEdit to create
  710. custom file icons when maps are saved.  These icons are 32x32 pixel
  711. images of the map terrain.  Although the icons give graphical hints
  712. about maps, they do have a couple drawbacks.  First, the icons increase
  713. the file size by about 2700 bytes, an amount that can be several times
  714. the size of map files without icons.  Second, in folders with large
  715. numbers of custom icons, the time needed to draw the icons can increase
  716. dramatically because the Finder must read each one separately from the
  717. disk.
  718.  
  719. Another factor to keep in mind is that a new custom icon may not be
  720. immediately visible.  The Macintosh Finder keeps a cache of information
  721. it needs to draw folder windows, and it can be difficult to get the
  722. Finder to update a window.  The most successful way seems to be to close
  723. and reopen the folder containing the newly-saved map.  If the new
  724. scriptable Finder is available, introduced with System 7.5, BMAPEdit can
  725. tell the Finder to change the icon, in which case the window will be
  726. updated immediately.
  727.  
  728. If the custom icon option is turned off, BMAPEdit will not create custom
  729. icons for a map file when it is saved, and will remove any existing
  730. icons.  This is because when the map is altered, the icons may not
  731. accurately reflect the new map terrain.
  732.  
  733. While BMAPEdit can manage custom icons for a single file, it is
  734. impractical to use it for a large number of map files.  Another utility
  735. called Iconz4Maps is available for this purpose.  A copy of Iconz4Maps
  736. is provided with the BMAPEdit distribution package.
  737.  
  738. 12. Special Square Dialogs
  739. These dialogs, which are opened by double-clicking bases, pillboxes, or
  740. start squares with the pointer tool, allow all settings of these special
  741. squares to be selected, including start square direction, initial
  742. ownership, base initial stocks, and pillbox firing intervals.
  743.  
  744. The pillbox firing interval (or speed) is the number of 20 millisecond
  745. periods between pillbox shots; a 'mad' pillbox fires with a shorter
  746. interval between shots.  Note that the initial firing interval at the
  747. beginning of a game decays rapidly to the idle value of 100.
  748.  
  749. Ownership is determined by the order in which players join a game, i.e.,
  750. the second player to join would automatically own bases that have been
  751. set to an ownership of 2.
  752.  
  753. Setting a new base or pillbox number causes two bases or pillboxes to
  754. swap positions--all others are not affected.  If the numbering is
  755. ignored, they are numbered in the order they were placed on the map. 
  756. Note that, in the case of pillboxes, this facility is of little use
  757. later in the game because PBs can be killed, moved, and 'replanted'.
  758.  
  759. The terrain underneath bases and pillboxes can be set in the dialogs. 
  760. Also, all existing bases and pillboxes can be set to identical values
  761. with the Set All Pillboxes or Set All Bases buttons (except for
  762. numbering).
  763.  
  764. 13. Keyboard Shortcuts and Actions
  765. Command key:
  766. *   Produces the pointer cursor while pressed
  767.  
  768. Space bar:
  769. *   Activates the 'grabber' hand for scrolling in map windows
  770.  
  771. Escape key (also tab key):
  772. *   Deselects any active selection
  773.  
  774. Shift key:
  775. *   Dragging new selections with the shift key down produces squares,
  776.       square ovals, and circles.
  777. *   Dragging lines and adding polygon points with the shift key down
  778.       restricts lines and new points to horizontal, vertical, and
  779.       diagonal directions.
  780. *   Changes pencil tool to the random blob tool.
  781.  
  782. Option key:
  783. *   Changes magnifier cursor to demagnifier if demagnification is
  784.       possible.
  785. *   Changes pencil tool to bulldozer for removal of special squares.
  786. *   Clicking and dragging the line tool with the option key pressed
  787.       produces a random walk from the start to the end point.
  788. *   If the option key was pressed when the mouse was clicked while
  789.       dragging a new rectangle, rounded rectangle, or oval selection,
  790.       the new selection expands from the click location, causing the
  791.       selection to be centered at this point.
  792. *   Option-clicking with the polygon tool or the lasso selector causes
  793.       the previous selection point to be replaced.
  794. *   Incrementing or decrementing the magnification level with the
  795.       option key presses causes the magnification change to be centered
  796.       on the center of the map terrain.
  797.  
  798. Control key:
  799. *   Activates the magnifier cursor for changing map views.
  800.  
  801. ToolBox keyboard shortcuts:
  802. *   D:               Deep water
  803. *   O:               Deep water (Ocean)
  804. *   W:               Water
  805. *   R:               Road
  806. *   G:               Grass
  807. *   F:               Forest
  808. *   T:               Forest (Trees)
  809. *   L:               Building (waLLs)
  810. *   M:               SwaMp
  811. *   C:               Crater
  812. *   B:               Base
  813. *   P:               Pillbox
  814. *   S:               Start square
  815. *   Arrow keys:      moves to next tool in direction of arrow
  816.  
  817. Start square dialog shortcuts:
  818. *   Tab:             selects next direction counterclockwise
  819.                      (or anti-clockwise)
  820. *   Option-Tab:      selects next direction clockwise
  821. *   Arrow keys:      selects corresponding cardinal direction
  822.                      (N, S, E, or W)
  823.  
  824. Additional shortcuts:
  825. *   Delete, clear:   clear selection (same as clear item in Edit menu)
  826.  
  827. Extended keyboard shortcuts:
  828. *   F1, F2, F3, F4:  corresponding Edit menu operations (undo, cut,
  829. copy, paste)
  830. *   Page Up, Page Down:
  831.                      same as clicking in vertical scroll bar gray
  832.                      areas
  833. *   Help, Home:      same as clicking in horizontal scroll bar gray areas
  834.  
  835. 14. Text Import/Export
  836. Each terrain type is translated to/from an ASCII text character.  These
  837. are intended as a method of illustrating written discussions about
  838. strategy and tactics, especially when posted to the Usenet news groups. 
  839. Terrain that has been exported as text will have the proper appearance
  840. when displayed in a mono-spaced font such as Monaco or Courier.  If a
  841. proportionally spaced font is used, map squares in the same vertical
  842. column will not line up.
  843.  
  844. Several drawbacks with using these characters should be noted.  First,
  845. start squares loose their directionality.  Second, the terrain under
  846. mines is lost, i.e. there is no way to indicate whether a mine is on
  847. grass, swamp, road, rubble, crater, or trees.  Third, for a tank in a
  848. boat, there is no way to tell if it is in water or deep water.  Also,
  849. damage levels to pillboxes cannot be determined.  Finally,
  850. differentiation of ownership of bases and pillboxes for players 4
  851. through 16 is not possible.  None of these will prevent the use of the
  852. character set as intended.  The terrain characters are:
  853. deep water          ;
  854. water               :
  855. swamp               s
  856. grass               blank (space)
  857. road                +
  858. forest              #
  859. crater              c
  860. rubble              r
  861. shot building       %
  862. building            O (not zero)
  863. boat                b
  864. neutral base        @
  865. player 1 base       1
  866. player 2 base       2
  867. player 3 base       3
  868. player 4..16 base   4
  869. neutral pillbox     *
  870. player 1 pillbox    7
  871. player 2 pillbox    8
  872. player 3 pillbox    9
  873. player 4..16 PB     0 (not capital 'O')
  874. visible mine        X
  875. invisible mine      x
  876. start square        S
  877. tank                t
  878. tank in boat        T
  879.  
  880. Please note that when importing text, all other visible characters are
  881. changed to grass.  Also, the terrain for 'T' is interpreted as either
  882. water or deep water depending on the surrounding map squares.  If the
  883. number of surrounding squares that are deep water is three or less, a
  884. 'T' is interpreted as water, otherwise it becomes deep water.  A
  885. carriage return (ASCII control-M) begins a new map row.  When exporting
  886. map terrain as text, all mines are invisible because visibility of mines
  887. is not defined in map files, but rather only while a game is in progress
  888. within Bolo itself.
  889.  
  890. 15. Known Bugs
  891. When dragging selections, quick, rapid, enter and leave movements of the
  892. mouse in and out of the source window can cause the selection outline to
  893. be offset incorrectly.  This is caused by the way dragging is controlled
  894. and can't really be corrected.  Fortunately, it rarely occurs.  Also,
  895. under rare conditions, dragging a selection downward so the window
  896. display scroll can leave lines of old pixels on the screen.  It occurs
  897. so infrequently I have not been able to determine the cause.
  898.  
  899. 16. Warranty
  900. There are no warranties.  The author makes no guarantees that BMAPEdit
  901. will perform as specified, or that its use will not completely ruin your
  902. computer (but it shouldn't, it hasn't ruined his).
  903.  
  904. 17. Epilogue
  905. "For example, consider the rise of hypnocracy during April and May of
  906. 1972.  The 43 persons constituting the Grateful Dead's (latest) European
  907. Tour apportioned themselves for the most part between two buses which
  908. came to be known as the Bolo bus and the Bozo bus.  The Bolo bus had a
  909. john in it and its seats faced forward.  The Bozo bus had a refrigerator
  910. and some of its seats were installed facing back, to accommodate four
  911. tables.  And to look back.  The subtle difference in character and
  912. import and atmosphere between the two omnibuses was so profoundly hidden
  913. and enigmatic that you could never possibly understand it.  The Bozos
  914. wore masks, and the Bolos showed their faces.  At one time the Bozos
  915. staged a raid on the Bolo provisions; at one time the Bolo staged a raid
  916. on the Bozo provisions.
  917.  
  918. "One St. Dilbert defected from the Bozos and lived for a season with the
  919. Bolos.  In view of his subsequent martyrdom, his penitence and
  920. reconciliation with the Bozos, it came to be said that he was a true
  921. hypnocratic missionary to Bololand.  And to look back, it appears
  922. evident that Bozo and Bolo knew themselves each the other's raison
  923. d'etre.  Is hypnocracy not the aspiration to know what it is?"
  924.     --Grateful Dead, Europe '72
  925.  
  926.  
  927. "The heavens declare the glory of God;
  928.     the skies proclaim the work of his hands.
  929. "Day after day they pour forth speech;
  930.     night after night they display knowledge.
  931. "There is no speech or language
  932.     where their voice is not heard.
  933. "Their voice goes out into all the earth,
  934.     their words to the ends of the world.
  935. "He determines the number of the stars,
  936.     and calls them each by name.
  937. "Great is our Lord and mighty in power;
  938.     his understanding has no limit."
  939. --Psalm 19:1-4, 147:4, NIV
  940.